#!/usr/bin/env python3

import os
import gi
gi.require_version('Gtk', '3.0')
gi.require_version('AyatanaAppIndicator3', '0.1')
from gi.repository import Gtk, GLib, AyatanaAppIndicator3

APPINDICATOR_ID = "click-radio"

def quit_app(_):
    Gtk.main_quit()

def script1(_): os.popen("/usr/share/click-radio/menu/wayland/app/slist-info")
def script2(_): os.popen("`sh -c /usr/share/click-radio/menu/wayland/app/playlist`")
def script3(_): os.popen("/usr/share/click-radio/menu/wayland/app/favlist-info")
def script4(_): os.popen("`sh -c /usr/share/click-radio/menu/wayland/app/dplay`")
def script5(_): os.popen("/usr/share/click-radio/menu/wayland/app/createplay")
def script6(_): os.popen("pkill -f 'Click Radio' &amp; /usr/share/click-radio/menu/wayland/'Youtube Downloader' &amp; /usr/share/click-radio/menu/notify/youtube_notify.py")
def script7(_): os.popen("/usr/share/click-radio/menu/app/converter")
def script8(_): os.popen("/usr/share/click-radio/menu/app/kill")

def build_menu():
    menu = Gtk.Menu()
    items = [
        ("🌐️ Stream", script1, "Start Streaming Music"),
        ("📜️ Playlist", script2, "Play My Playlist"),
        ("♥️ Favorites", script3, "Play My Favorites"),
        ("📂️ Folder", script4, "Play a Music Folder"),
        ("📝️ Create", script5, "Create a Playlist"),
        ("📥️ Youtube", script6, "Youtube Download Menu"),
        ("🔃️ Converter", script7, "Convert a URL"),
        ("❌️ Quit", script8, "Quit Player"),
    ]

    for label, callback, tip in items:
        item = Gtk.MenuItem(label=label)
        item.connect('activate', callback)
        item.set_tooltip_text(tip)
        menu.append(item)

    menu.show_all()
    return menu

indicator = AyatanaAppIndicator3.Indicator.new(
    APPINDICATOR_ID,
    "/usr/share/click-radio/icons/click-radio.png",
    AyatanaAppIndicator3.IndicatorCategory.APPLICATION_STATUS
)

indicator.set_status(AyatanaAppIndicator3.IndicatorStatus.ACTIVE)
indicator.set_menu(build_menu())

Gtk.main()

